package com.wzdigit.wms.basic.client.request.transfer;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 调拨单列表搜索输入-PC端
 * @author yangdongjie
 * @param <T>
 * @param <T>
 * @GetWarehouseListRequest.java
 * @2020年12月31日下午3:40:49
 */
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = {"hibernateLazyInitializer", "handler", "fieldHandler"}, ignoreUnknown = true)
public class SearchTransferManageRequest implements Serializable {

	private static final long serialVersionUID = -5812482285373909439L;

	/**
	 * 来源单号
	 */
    @ApiModelProperty(value = "来源单号", required = false)
    private String sourceNo;
    
	/**
	 * 调拨单类型
	 */
    @ApiModelProperty(value = "调拨单类型", required = false)
    private String transferType;

    /**
     * 调拨部门
     */
    @ApiModelProperty(value = "调拨部门", required = false)
    private String transferDeptName;
    
    /**
     * 物料编码
     */
    @ApiModelProperty(value = "物料编码", required = false)
    private String skuCode;
    
    /**
     * 转入仓库
     */
    @ApiModelProperty(value = "转入仓库", required = false)
    private Integer toWhs;
    
    /**
     * 转出仓库
     */
    @ApiModelProperty(value = "转出仓库", required = false)
    private Integer fmWhs;

    /**
     * 转出组织
     */
    @ApiModelProperty(value = "转出组织", required = false)
    private String fmFactory;
    
    /**
     * 转入组织
     */
    @ApiModelProperty(value = "转入组织", required = false)
    private String toFactory;
    
    /**
     * 订单号
     */
    @ApiModelProperty(value = "订单号", required = false)
    private String poNo;
    
    /**
     * 转出销售订单
     */
    @ApiModelProperty(value = "转出销售订单", required = false)
    private String fmSoNo;
    
    /**
     * 转入销售订单
     */
    @ApiModelProperty(value = "转入销售订单", required = false)
    private String toSoNo;
    
    
    /**
     * 单据状态
     */
    @ApiModelProperty(value = "单据状态", required = false)
    private List<Integer> statusList;
    
    /**
     * 调拨时间段头
     */
    @ApiModelProperty(value = "调拨时间段头", required = false, example = "")
	private Long beginTime;
	
    /**
     * 调拨时间段尾
     */
	@ApiModelProperty(value = "调拨时间段尾", required = false, example = "")
	private Long endTime;
    
    /**
     * 调拨单号/来源单号模糊查询
     */
    @ApiModelProperty(value = "调拨单号/来源单号模糊查询", required = false)
    private String filter;
}